#include <bits/stdc++.h>
#define MAX 31624
using namespace std;
bitset<31624> primes;
vector<int> all_primes;
void siev(){
primes.set();
primes[0] = 0;
primes[1] = 0;
for(long long i = 2; i < MAX; i++)
if(primes[i]){
for(long long j = i * i; j < MAX; j += i)
primes[j] = 0;
all_primes.push_back((int)i);
}
}
set<int> powers ;
void powers_two(){
int i = 1;
while (i < 1000000000){
powers.insert(i);
i *= 2;
}
}
int main(){
siev();
powers_two();
int t, n, m, nc, mc, ans;cin >> t;
bool prime, possible;
for(int tt = 0; tt< t; tt++){
cin >> n; cin >> m;
nc = n; mc = m;
if(n % m == 0){
ans = 0;
cout << ans << endl;
continue;
}
prime = true;
possible = true;
while (n % 2 == 0){
n /= 2;
}
while (m % 2 == 0){
m /= 2;
}
if(n % m) {
cout << -1 << endl;
}
else{
long long cont = 0;
while (nc % mc){
//cout << nc << endl;
nc %= mc;
cont += nc;
nc *= 2;
}
cout << cont << endl;
}
}
}
1647A - Madoka and Math Dad | 710A - King Moves |
1131A - Sea Battle | 118A - String Task |
236A - Boy or Girl | 271A - Beautiful Year |
520B - Two Buttons | 231A - Team |
479C - Exams | 1030A - In Search of an Easy Problem |
158A - Next Round | 71A - Way Too Long Words |
160A - Twins | 1A - Theatre Square |
1614B - Divan and a New Project | 791A - Bear and Big Brother |
1452A - Robot Program | 344A - Magnets |
96A - Football | 702B - Powers of Two |
1036A - Function Height | 443A - Anton and Letters |
1478B - Nezzar and Lucky Number | 228A - Is your horseshoe on the other hoof |
122A - Lucky Division | 1611C - Polycarp Recovers the Permutation |
432A - Choosing Teams | 758A - Holiday Of Equality |
1650C - Weight of the System of Nested Segments | 1097A - Gennady and a Card Game |